graph TD
%% 主流程
    A[开始翻译] --> B{对象解析}
    B -->|包装对象| C[TransObjResolver解析器]
    B -->|普通对象| D[直接处理]
    C --> E[提取目标对象]
    E --> F{是否需要翻译}
    D --> F
    F -->|否| G[结束]
    F -->|是| H[获取元数据]

%% 元数据层
    H --> I[TransClassMetaCacheManager]
    I --> J[TransClassMeta]
    J --> K{字段分组}
    K --> L[按TransRepository分组]
    L --> M[并发执行翻译]

%% 数据层
    M --> N[TransService]
    N --> O[TransRepositoryFactory]
    O --> P[TransRepository]
    P --> Q[获取翻译数据]
    Q --> R[设置翻译值]
    R --> S[处理嵌套字段]
    S -->|递归| K
    S -->|完成| G

%% 注解层
subgraph 注解层
T[@Trans注解]
U[@DictTrans注解]
V[自定义注解]
end

%% 元数据层
subgraph 元数据层
J[TransClassMeta]
W[TransFieldMeta]
end

%% 数据层
subgraph 数据层
P[TransRepository]
X[DictLoader]
Y[DictTransRepository]
Z[自定义Repository]
end

%% 连接关系
T --> J
U --> J
V --> J
W --> K
Y --> P
Z --> P
X --> Y

%% 优化布局
classDef layer fill:#333,stroke:#666,stroke-width:2px;
classDef process fill:#2c3e50,stroke:#3498db,stroke-width:2px;
classDef decision fill:#f1c40f,stroke:#e67e22,stroke-width:2px;
classDef startEnd fill:#e74c3c,stroke:#c0392b,stroke-width:2px;

class A,G startEnd
class B,F decision
class C,D,E,H,I,J,K,L,M,N,O,P,Q,R,S process
class T,U,V,W,X,Y,Z layer
